/**
 * <p>表格的辅助类，包括列字段的数量的总和、金额计算</p>
 * xtype = cceafgridhelper

 * @module Ext-ux-cceaf-util
 * @class cceaf.util.GridHelper
 * @extends Object
 * @static
 * @since 1.0
 */
Ext.ns('cceaf.util');

Ext.define('cceaf.util.GridHelper',{
	//extjs cmd只能通过类查找，需定义空类
});

cceaf.util.GridHelper = (function() {
	
	return {
		
		/**
		 * 根据表格中某列的数据变化填充到指定的对象
		 * @param objectField 目标对象，需要把汇总结果填到目标对象
		 * @param newValue 表格单元的新值
		 * @param newValue 表格单元的旧值
		 */
		calcChange2Field: function(objectField, newValue, oldValue){
			if (!objectField) {
				cceaf.util.ExtHelper.showInfoDialog("请设置正确的计算目标字段！");
				return;
			} 
			if (newValue == null || newValue == "") {
				return;
			}
				
				if (!oldValue) {
				oldValue = 0;
			}
			var total = objectField.getValue();
			if (total == null || total =="") {
				total = 0;
			} else {
				total = parseInt(total);
			}
			total += newValue - oldValue;
			objectField.setValue(total);
		},

		/**
		 * 计算表格中某列值的总和
		 * @param objectField 目标对象，需要把汇总结果填到目标对象
		 * @param newValue 表格单元的新值
		 * @param newValue 表格单元的旧值
		 */
		calcColTotal: function(grid, colName){
			var total = 0;
			
			grid.getStore().each(
				function(record){
					total += parseFloat(record.get(colName));
				}
			);
			
			return total;
		}
		
	};
	
}());